1. Field
This disclosure relates to generating traffic for testing a network or network device.
2. Description of the Related Art
In many types of communications networks, each message to be sent is divided into portions of fixed or variable length. Each portion may be referred to as a packet, a frame, a cell, a datagram, a data unit, or other unit of information, all of which are referred to herein as packets.
Each packet contains a portion of an original message, commonly called the payload of the packet. The payload of a packet may contain data, or may contain voice or video information. The payload of a packet may also contain network management and control information. In addition, each packet contains identification and routing information, commonly called a packet header. The packets are sent individually over the network through multiple switches or nodes. The packets are reassembled into the message at a final destination using the information contained in the packet headers, before the message is delivered to a target device or end user. At the receiving end, the reassembled message is passed to the end user in a format compatible with the user's equipment.
Communications networks that transmit messages as packets are called packet switched networks. In order to test a packet switched network or a device included in a communications network, it is often desirable to generate network traffic having a data rate equal to the line rate or maximum possible data rate of the network communication path or device.
For the purpose of reporting network traffic data, the packets may be organized into flows, where a “flow” is any plurality of data units for which network traffic statistics are accumulated and reported. The data units in a given flow may be distinguished by a flow identifier contained in each data unit. The flow identifier may be, for example, an address, a port number, a tag, or some other field or combination of fields within each data unit.
A source may support multiple outgoing and incoming flows simultaneously and concurrently, for example to accommodate multiple packet types or rates. A source may be, for example, a port on a network interface. “Simultaneously” means “at exactly the same time.” “Concurrently” means “within the same time.” A plurality of concurrent flows may be combined to form what will be referred to herein as a “stream”. A single stream may represent a plurality of packet types. The flows within a stream may be combined through interleaving. The interleaving may be balanced, unbalanced, and distributed among the represented flows. The data rate of a stream may be less than or equal to the line rate of a network communication path over which the stream is transmitted. Although the packets within a flow may be transmitted at the line rate, the average data rate of a flow over time may be much lower, since a plurality of interleaved flows may share the data rate of the stream.
To thoroughly test a packet switched network or an item of network equipment, a line-rate, or near line-rate, test stream may be generated and transmitted through the network or equipment under test. Each test stream may be composed of a plurality of interleaved flows representing multiple packet types including simulated data, audio, and video flows. After the test stream is transmitted through the network or equipment under test, a traffic receiver may be used to receive the test stream. A traffic receiver may also be used to receive regular, non-test, network traffic for network performance monitoring and fault isolation. The traffic receiver may accumulate traffic statistics, for example for each flow, indicative of the performance of the network or equipment under test. The traffic receiver may also capture and save specific packets for further analysis.
Throughout this description, elements appearing in block diagrams are assigned three-digit reference designators, where the most significant digit is the figure number and the two least significant digits are specific to the element. An element that is not described in conjunction with a block diagram may be presumed to have the same characteristics and function as a previously-described element having a reference designator with the same least significant digits.
In block diagrams, arrow-terminated lines may indicate data paths rather than signals. Each data path may be multiple bits in width. For example, each data path may consist of 16, 32, 64, 128, 256, or more parallel connections.